home *** CD-ROM | disk | FTP | other *** search
/ EnigmA Amiga Run 1996 April / EnigmA AMIGA RUN 06 (1996)(G.R. Edizioni)(IT)[!][issue 1996-04][Skylink CD V].iso / progs / editor / write-ed / rexx / empty.wrx < prev    next >
Text File  |  1995-05-01  |  3KB  |  138 lines

  1. /*
  2.  * WRITE V3.1536 © 1991-1995 by Tim Teulings
  3.  *
  4.  * Dieses Script beinhaltet einige Beispiele für die richtige Ansteuerung
  5.  * von WRITE mittels AREXX.
  6.  *
  7.  * $VER: 1.1 Tim Teulings
  8.  */
  9.  
  10. say "Dieses Script tut nichts!"
  11. EXIT
  12.  
  13. /*
  14.  * Hier wird nachgeschaut, ob WRITE bereits gestartet worden ist.
  15.  * Wenn nicht wird ENV:WRITE ausgelesen und WRITE gestartet.
  16.  */
  17.  
  18. IF ~show('P',"WRITE")
  19. THEN DO
  20.   IF Open(File,"ENV:WRITE",r) THEN DO
  21.     WRITEPATH = READLN(File)
  22.     Close(File)
  23.  
  24.     ADDRESS "COMMAND"
  25.     "run >NIL: <NIL: " || WRITEPATH
  26.     "SYS:REXXC/WaitForPort <NIL: >NIL: WRITE"
  27.   END
  28.   ELSE DO
  29.     say "Kann WRITE nicht finden!"
  30.   END
  31. END
  32.  
  33. /* Addrssieren des AREXX-Ports */
  34.  
  35. if ~show('P',"WRITE") then
  36. do
  37.   say "Dieses Skript arbeitet nicht ohne den Texteditor WRITE!"
  38.   exit 0
  39. end
  40.  
  41. ADDRESS "WRITE"
  42.  
  43. OPTIONS RESULTS
  44. SIGNAL ON SYNTAX /* Abfangen von Syntaxfehlern */
  45.  
  46. /**********************************/
  47. /* Kontrolle ob Script kompatibel */
  48. /**********************************/
  49.  
  50. 'VERSIONCHECK 40000 "Empty.wrx"'
  51. IF RC~=0 THEN DO
  52.   exit 10
  53. END
  54.  
  55. /*******************************/
  56. /* Öffnen eines neuen Fensters */
  57. /*******************************/
  58.  
  59.  
  60. 'NEWED ""'
  61. ID = RESULT
  62. OPENPORT ID
  63. Port = RESULT
  64. IF Port = ""
  65. THEN DO
  66.   "MESSAGEOK (REXX-script 'open.wrx':\nSorry, no more private ports!)"
  67.   EXIT
  68. END
  69.  
  70. /* Ansprechen des privaten Ports dieses neuen Fensters */
  71.  
  72. INTERPRET ADDRESS Port
  73.  
  74. "WINDOW 0 0 0 0"
  75.  
  76.  
  77. /********************************************************/
  78. /* Alternative : Locken des aktuellen, aktiven Fensters */
  79. /********************************************************/
  80.  
  81.  
  82. 'GETVAR "_CurrentID"'
  83. ID = RESULT           /* GETVAR gibt den ID des aktuellen Fenster zurück,  */
  84.                       /* der von den weiteren Befehlen benötigt wird.      */
  85.  
  86. IF ID=0 THEN DO
  87.   'MESSAGEOK "Kein Fenster aktiviert!"'
  88.   EXIT
  89. END
  90.  
  91. OPENPORT ID           /* PrivatePort des aktuellen Fensters öffnen        */
  92. Port = RESULT
  93.  
  94. IF Port="" THEN DO    /* 'OPENPORT' gibt "" zurück, wenn Port nicht       */
  95.                       /* geöffnet werden konnte                           */
  96.  
  97.   LOCKWINDOW ID
  98. END
  99. ELSE DO
  100.   INTERPRET ADDRESS Port  /* PrivatePort addressieren.Alle Komandos beziehen */
  101.                           /* sich nun auf das Fenster mit diesem Port        */
  102. END
  103.  
  104.  
  105. /*********************************************/
  106. /* Hier folgt das eigendliche AREXX-Programm */
  107. /*********************************************/
  108.  
  109. /* Schließen des Ports/Unlocken des Fensters */
  110.  
  111. IF Port="" THEN DO
  112.   LOCKWINDOW 0
  113. END
  114. ELSE DO
  115.   CLOSEPORT ID
  116. END
  117.  
  118. EXIT
  119.  
  120.  
  121. /********/
  122. /* Ende */
  123. /********/
  124.  
  125.  
  126. SYNTAX:
  127.  
  128. SAY "Leider trat ein Fehler auf... Zeile : " SIGL ":" ERRORTEXT(RC)
  129.  
  130. IF Port="" THEN DO
  131.   LOCKWINDOW 0
  132. END
  133. ELSE DO
  134.   CLOSEPORT ID
  135. END
  136.  
  137. EXIT
  138.